package com.zl.learning.xml.pojo;

import javax.xml.bind.annotation.*;
import java.util.List;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Form {
    /**
     * 前台传入唯一标识
     * 用以确定
     */
    private String formId;
    /**
     * 表单类型
     */
    private String formType;
    /**
     * 填表单位
     */
    private String dept;
    /**
     * 填表日期
     */
    private String writeDate;
    /**
     * 审批表编号
     */
    private String tableId;
    /**
     * 案件类型
     */
    private String caseType;
    /**
     * 表单状态
     *  0 未完成
     *  1 已完成
     *  2 已打印
     */
    private String formStatus;
    //form_1
    /**
     * 对象姓名
     */
    private String objectName;
    /**
     * 外文姓名
     */
    private String englishName;
    /**
     * 其他称谓
     */
    private String otherName;
    /**
     * 姓别
     *  0 男
     *  1 女
     */
    private String sex;
    /**
     * 国籍
     */
    private String nationality;
    /**
     * 籍贯
     */
    private String nativePlace;
    /**
     * 照片
     */
    private String photo;
    /**
     * 职业性质
     */
    private String workType;
    /**
     * 行政级别（身份）
     */
    private String executiveLevel;
    /**
     * 政治面貌
     */
    private String politicsStatus;
    /**
     * 民族
     */
    private String nation;
    /**
     * 语种
     */
    private String language;
    /**
     * 工作单位
     */
    private String workUnit;
    /**
     * 工作单位积务
     */
    private String workUnitJob;
    /**
     * 兼职单位
     */
    private String partTimeUnit;
    /**
     * 兼职单位职务
     */
    private String partTimeUnitJob;
    /**
     * 出生年月
     */
    private String brithday;
    /**
     * 宗教信仰
     */
    private String religion;
    /**
     * 证件类别
     */
    private String idType;
    /**
     * 证件号码
     */
    private String idNum;
    /**
     * 证件登记住址
     */
    private String idAddress;
    /**
     * 现住址
     */
    private String currentAddress;
    /**
     * 办公地址
     */
    private String officeAddress;
    /**
     * 拟侦控码址
     */
    @XmlElementWrapper(name = "numberIds")
    @XmlElement(name="numberId")
    private List<String> numberIds;
    /**
     * 其他个人信息
     */
    @XmlElementWrapper(name = "personalDetails")
    @XmlElement(name = "personalDetail")
    private List<String> personalDetails;

    // form_2
    /**
     * 案情介绍
     */
    private String caseDetail;
    /**
     * 与侦控目标有关人员
     */
    @XmlElementWrapper(name = "personOfInterests")
    @XmlElement(name = "personOfInterest")
    private List<PersonOfInterest> personOfInterests;

    //form_3
    /**
     * 侦控类别
     *  0 专案对象
     *  1 侦控对象
     *  2 考察秘密力量
     *  3 委托交办
     */
    @XmlElementWrapper(name = "monitorTypes")
    @XmlElement(name = "monitorType")
    private List<MonitorType> monitorTypes;
    /**
     * 有关文件（公函）文号*
     */
    private String fileNum;
    /**
     *对象目标性质
     *  0 境内人员
     *  1 境外人员
     */
    private String objectType;
    /**
     * 提请委托（交办）部门
     */
    private List<String> department;

    /**
     * 批准权限
     *  0 中央
     *  1 部
     *  2 省、自治区、直辖市
     *  3 厅局
     */
    @XmlElementWrapper(name = "allowRoles")
    @XmlElement(name = "allowRole")
    private List<String> allowRoles;
    /**
     * 侦察目的和需求
     */
    private String purpose;

    // 采取 技术侦察措施

    /**
     * 不宜采取的技术侦察措施种类
     */
    @XmlElementWrapper(name = "unMonitorTypes")
    @XmlElement(name = "unMonitorType")
    private List<String> unMonitorTypes;
    /**
     * 期限
     */
    private String deadline;
    /**
     * 提请委托（交办）部门2
     */
    private String department2;
    /**
     * 联系人及电话
     */
    private String relation;
    /**
     * 提交部门意见
     */
    private String suggest;

    //form_4
    /**
     * 决定采取技术侦察措施的种类
     */
    @XmlElementWrapper(name = "scoutTypes")
    @XmlElement(name = "scoutType")
    private List<String> scoutTypes;
    /**
     * 分管技侦部门审核意见
     */
    private String monitorDeptSuggest;
    /**
     * 技侦总队 意见
     */
    private String jzDeptSuggest;
    /**
     * 省区市厅局 分管有关工作领导
     */
    private String manageLeaders;
    /**
     * 省区市厅局 分管技侦工作领导
     */
    private String monitorLeaders;
    /**
     * 省区市厅局 主要领导
     */
    private String mainLeaders;
    /**
     * 国家安全部（省区市）
     */
    private String country;
    /**
     * 中央
     */
    private String center;

    //form_5
    /**
     * 备注
     */
    private String remark;

    public String getDept() {
        return dept;
    }

    public void setDept(String dept) {
        this.dept = dept;
    }

    public String getTableId() {
        return tableId;
    }

    public void setTableId(String tableId) {
        this.tableId = tableId;
    }

    public String getFormType() {
        return formType;
    }

    public void setFormType(String formType) {
        this.formType = formType;
    }

    public String getFormId() {
        return formId;
    }

    public void setFormId(String formId) {
        this.formId = formId;
    }

    public String getFormStatus() {
        return formStatus;
    }

    public void setFormStatus(String formStatus) {
        this.formStatus = formStatus;
    }

    public String getObjectName() {
        return objectName;
    }

    public void setObjectName(String objectName) {
        this.objectName = objectName;
    }

    public String getEnglishName() {
        return englishName;
    }

    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    public String getOtherName() {
        return otherName;
    }

    public void setOtherName(String otherName) {
        this.otherName = otherName;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public String getPhoto() {
        return photo;
    }

    public void setPhoto(String photo) {
        this.photo = photo;
    }

    public String getWorkType() {
        return workType;
    }

    public void setWorkType(String workType) {
        this.workType = workType;
    }

    public String getExecutiveLevel() {
        return executiveLevel;
    }

    public void setExecutiveLevel(String executiveLevel) {
        this.executiveLevel = executiveLevel;
    }

    public String getPoliticsStatus() {
        return politicsStatus;
    }

    public void setPoliticsStatus(String politicsStatus) {
        this.politicsStatus = politicsStatus;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public String getWorkUnit() {
        return workUnit;
    }

    public void setWorkUnit(String workUnit) {
        this.workUnit = workUnit;
    }

    public String getWorkUnitJob() {
        return workUnitJob;
    }

    public void setWorkUnitJob(String workUnitJob) {
        this.workUnitJob = workUnitJob;
    }

    public String getPartTimeUnit() {
        return partTimeUnit;
    }

    public void setPartTimeUnit(String partTimeUnit) {
        this.partTimeUnit = partTimeUnit;
    }

    public String getPartTimeUnitJob() {
        return partTimeUnitJob;
    }

    public void setPartTimeUnitJob(String partTimeUnitJob) {
        this.partTimeUnitJob = partTimeUnitJob;
    }

    public String getBrithday() {
        return brithday;
    }

    public void setBrithday(String brithday) {
        this.brithday = brithday;
    }

    public String getReligion() {
        return religion;
    }

    public void setReligion(String religion) {
        this.religion = religion;
    }

    public String getIdType() {
        return idType;
    }

    public void setIdType(String idType) {
        this.idType = idType;
    }

    public String getIdNum() {
        return idNum;
    }

    public void setIdNum(String idNum) {
        this.idNum = idNum;
    }

    public String getIdAddress() {
        return idAddress;
    }

    public void setIdAddress(String idAddress) {
        this.idAddress = idAddress;
    }

    public String getCurrentAddress() {
        return currentAddress;
    }

    public void setCurrentAddress(String currentAddress) {
        this.currentAddress = currentAddress;
    }

    public String getOfficeAddress() {
        return officeAddress;
    }

    public void setOfficeAddress(String officeAddress) {
        this.officeAddress = officeAddress;
    }

    public List<String> getNumberIds() {
        return numberIds;
    }

    public void setNumberIds(List<String> numberIds) {
        this.numberIds = numberIds;
    }

    public List<String> getPersonalDetails() {
        return personalDetails;
    }

    public void setPersonalDetails(List<String> personalDetails) {
        this.personalDetails = personalDetails;
    }

    public String getCaseDetail() {
        return caseDetail;
    }

    public void setCaseDetail(String caseDetail) {
        this.caseDetail = caseDetail;
    }

    public List<PersonOfInterest> getPersonOfInterests() {
        return personOfInterests;
    }

    public void setPersonOfInterests(List<PersonOfInterest> personOfInterests) {
        this.personOfInterests = personOfInterests;
    }

    public List<MonitorType> getMonitorTypes() {
        return monitorTypes;
    }

    public void setMonitorTypes(List<MonitorType> monitorTypes) {
        this.monitorTypes = monitorTypes;
    }

    public String getFileNum() {
        return fileNum;
    }

    public void setFileNum(String fileNum) {
        this.fileNum = fileNum;
    }

    public String getObjectType() {
        return objectType;
    }

    public void setObjectType(String objectType) {
        this.objectType = objectType;
    }

    public List<String> getAllowRoles() {
        return allowRoles;
    }

    public void setAllowRoles(List<String> allowRoles) {
        this.allowRoles = allowRoles;
    }

    public String getPurpose() {
        return purpose;
    }

    public void setPurpose(String purpose) {
        this.purpose = purpose;
    }

    public List<String> getUnMonitorTypes() {
        return unMonitorTypes;
    }

    public void setUnMonitorTypes(List<String> unMonitorTypes) {
        this.unMonitorTypes = unMonitorTypes;
    }

    public String getDeadline() {
        return deadline;
    }

    public void setDeadline(String deadline) {
        this.deadline = deadline;
    }

    public String getRelation() {
        return relation;
    }

    public void setRelation(String relation) {
        this.relation = relation;
    }

    public String getSuggest() {
        return suggest;
    }

    public void setSuggest(String suggest) {
        this.suggest = suggest;
    }

    public String getMonitorDeptSuggest() {
        return monitorDeptSuggest;
    }

    public void setMonitorDeptSuggest(String monitorDeptSuggest) {
        this.monitorDeptSuggest = monitorDeptSuggest;
    }

    public String getManageLeaders() {
        return manageLeaders;
    }

    public void setManageLeaders(String manageLeaders) {
        this.manageLeaders = manageLeaders;
    }

    public String getMonitorLeaders() {
        return monitorLeaders;
    }

    public void setMonitorLeaders(String monitorLeaders) {
        this.monitorLeaders = monitorLeaders;
    }

    public String getMainLeaders() {
        return mainLeaders;
    }

    public void setMainLeaders(String mainLeaders) {
        this.mainLeaders = mainLeaders;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getCenter() {
        return center;
    }

    public void setCenter(String center) {
        this.center = center;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public List<String> getScoutTypes() {
        return scoutTypes;
    }

    public void setScoutTypes(List<String> scoutTypes) {
        this.scoutTypes = scoutTypes;
    }

    public String getDepartment2() {
        return department2;
    }

    public void setDepartment2(String department2) {
        this.department2 = department2;
    }

    public String getWriteDate() {
        return writeDate;
    }

    public void setWriteDate(String writeDate) {
        this.writeDate = writeDate;
    }

    public String getCaseType() {
        return caseType;
    }

    public void setCaseType(String caseType) {
        this.caseType = caseType;
    }

    public List<String> getDepartment() {
        return department;
    }

    public void setDepartment(List<String> department) {
        this.department = department;
    }

    public String getJzDeptSuggest() {
        return jzDeptSuggest;
    }

    public void setJzDeptSuggest(String jzDeptSuggest) {
        this.jzDeptSuggest = jzDeptSuggest;
    }
}
